PARSE_URL

url解析后,按照part提取信息。

命令格式

string parse_url(string <url>, string <part>[, string <key>])

参数说明

  • url:必填。STRING类型。URL链接。无效URL链接会返回报错。

  • part:必填。STRING类型。取值包含:HOST、PATH、QUERY、REF、PROTOCOL、AUTHORITY、FILE和USERINFO,不区分大小写。

  • key:可选。当part取值为QUERY时,根据key值取出对应的Value值。

返回说明

返回STRING类型。返回规则如下:

  • urlpartkey值为NULL时,返回NULL。

  • part取值不符合要求时,返回报错。

使用示例

--返回example.com。
select parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'HOST');
--返回/over/there/index.dtb。
select parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'PATH');
--返回animal。
select parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'QUERY', 'type');
--返回nose。
select parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'REF');
--返回file。
select parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'PROTOCOL');
--返回 username:password@example.com:8042。
select parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'AUTHORITY');
--返回username:password。
select parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'USERINFO');

相关函数

PARSE_URL函数属于字符串函数,更多查找字符串、转换字符串格式的相关函数请参见字符串函数